hvm vlapic: Fix vlapic_write() for partial register writes.
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 28 Jul 2009 15:24:47 +0000 (16:24 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 28 Jul 2009 15:24:47 +0000 (16:24 +0100)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/hvm/vlapic.c

index 585b4c9014dbb7cabb09bc32a77d209b17ea3422..7b5b033534f87923acf0f6722d60507bcf67c0aa 100644 (file)
@@ -599,13 +599,13 @@ static int vlapic_write(struct vcpu *v, unsigned long address,
     val = (uint32_t)val;
     if ( len != 4 )
     {
-        unsigned long tmp;
+        unsigned int tmp;
         unsigned char alignment;
 
         gdprintk(XENLOG_INFO, "Notice: Local APIC write with len = %lx\n",len);
 
         alignment = offset & 0x3;
-        (void)vlapic_read(v, offset & ~0x3, 4, &tmp);
+        (void)vlapic_read_aligned(vlapic, offset & ~0x3, &tmp);
 
         switch ( len )
         {